在 Day 2 時,我們有與大家分享並安裝 Proxmox VE 虛擬化管理平台。
那今天,我們要來部署一下獨立的 Home Lab,在 2020 年的 iTHome 鐵人賽,我有寫一篇介紹 Linux 路由的基本概念,有興趣的可以到 這邊 參考一下。
那我們今天則快速的複習一下靜態路由及路由表。
每台路由器都會有對應的路由表,其中包含了「動態路由」及「靜態路由」
靜態路由,顧名思義就是「非動態的路由」。
我們需要手動指定某一條路由的 Gateway 或 Port,路由器會將發往該路由的封包,往那個 Gateway 或 Port 發送。
以 Linux 為例,靜態路由使用 ip route
的指令來建立。
你需要在 Linux Kernel 中打開封包轉發的功能,否則你無法將其他 VM 的封包轉發到其他網卡上
echo "
net.ipv4.conf.all.forwarding = 1
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.lo.disable_ipv6 = 0
net.ipv6.conf.default.forwarding = 1
net.ipv6.conf.all.forwarding = 1
net.ipv6.conf.all.proxy_ndp = 1
net.ipv6.conf.all.accept_ra = 2
" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
假設我們今天想要讓 8.8.8.8/32 這條路由走 10.99.0.1 出去,我們可以使用這個指令來新增
ip route add 8.8.8.8/32 via 10.99.0.1
假設今天我們有兩個內網,分別隸屬於不同的路由器。兩台路由器在同一個 LAN 上或有互連
R1 的資訊如下
R2 的資訊如下
我們要讓兩個網段 (192.168.0.0/24 與 192.168.1.0/24) 可以彼此互連,我們可以使用此指令來新增。
R1: ip route add 192.168.1.0/24 via 10.0.0.2
R2: ip route add 192.168.0.0/24 via 10.0.0.1
路由追蹤的結果會像這樣
講完靜態路由後,我們稍微還提一下路由表的概念吧。
每台裝置都有路由表,無論是 Windows、Linux 或是 macOS,路由表是不可或缺的!
舉例來說,我們常使用的 Windows 系統。
當電腦接上網路,從 DHCP 拿到 IP 後,會有一個預設閘道,我們也可以稱之為「預設路由」。
這條預設路由,可以將系統的所有網路封包(發往 0.0.0.0/0 的封包)往那條 Gateway 送,閘道會再將其送給其他路由器。
而在一般的路由器上,可能還會包括其他動態路由 ex: BGP, OSPF 等。
以下為 Juniper 路由器的截圖,收了整個 IPv4 Full Table,所以共有 86 萬條路由左右。